DASCTF March 2021

简单的png隐写

压缩包伪加密修复

将压缩包中两个文件的 deFlags 都修正为 0 即可解压文件。

文件结构修正

使用 010 editor 打开 hint.png 可以发现 IDAT chunk 有一些不对劲,猜测这是两张图片的拼接。

将 IDAT chunk 分开并补全文件头可以得到下图。

outguess

使用上述密码对 flag.jpg 使用 outguess 提取内容可得如下信息。

MUY4QjA4MDg5MTgwNzg1RTAwMDM2NjZDNjE2NzJFNzQ3ODc0MDA0QkNCNDk0Q0FGMzZCMDMwMzQ0RDM1NDlCNjRDMzMzNTMzMzRCMTQ4MzVCNzQ4NEEzNTMzNDg0OTMyMzU0QjRFMzUzMTQ5MzFCNUFDRTVFMjAyMDA0NjhCMjIzRjI4MDAwMDAw

使用 CyberChef 对上述信息经过 From Base64 --> From Hex --> Gunzip 可得 flag。

flag{0815e4c9f56148e78be60db56ce44d59}

雾都孤儿

使用 npiet 执行附件中的图片,可以得到如下结果。

打开附件的 Word 文档可以发现有一张图片,将其从 Word 文档中提取出来,使用 Tetris 做 key 尝试跑 outguess 并将提取出的文件整理后可以得到如下内容。

在线 outguess https://cyber.meme.tips/joutguess/

1000000010011101010111010000001101100000001010110101010110101011011110000000100011010101000010100110111101010011011010100011011110101001101101010111111001001011011011011001101110110101001101000000010010100101111110101100010101110111101010011011011001101111000000110101101010011010000001111000000111110101011000

对 Word 文档中的文字进行频数统计,得到如下结果。

[('{', 6), ('A', 19), ('m', 502), ('o', 1620), ('n', 1467), ('g', 406), (' ', 4914), ('t', 1879), ('h', 1435), ('e', 2795), ('r', 1343), ('p', 454), ('u', 567), ('b', 374), ('l', 906), ('i', 1449), ('c', 507), ('d', 1017), ('s', 1254), ('a', 1806), ('w', 560), (',', 444), ('f', 457), ('y', 407), ('I', 59), (':', 15), ('k', 159), (';', 82), ('q', 26), ('v', 253), ('x', 41), ('.', 254), ('\n', 190), ('F', 5), ('}', 8), ('O', 51), ('T', 63), ('-', 84), ('N', 13), ('z', 4), ("'", 236), ('L', 7), ('!', 29), ('S', 14), ('M', 84), ('P', 5), ('Y', 12), ('_', 16), ('G', 3), ('H', 19), ('?', 17), ('W', 22), ('B', 44), ('U', 3), ('j', 7), ('E', 2), ('(', 9), (')', 9), ('D', 6), ('J', 1), ('V', 1), ('Z', 1), ('C', 6)]

将 outguess 提取出来的字符串使用上述词频进行哈夫曼解码可得 flag。

解码脚本参考:https://lemonprefect.cn/WriteUps/%E7%BA%A2%E6%98%8E%E8%B0%B7%E6%9D%AF%20CTF%202021.html#:~:text=%E7%BD%91%E4%B8%8A%E6%89%BE%E4%B8%80%E6%AE%B5-,%E4%BB%A3%E7%A0%81,-%E8%A7%A3%E7%A0%81%E3%80%82

DASCTF{This_Is_Hvffam_Dickens_secret_!!}

小田的秘密

使用 WireShark 分析附件给出的流量包,跟踪到 TCP 流 19 可以发现如下内容。

将其提取出来,可以得到如下一段夹杂着 emoji 的字符串。

🐇 🌷 🍇🍉🐇 🌺 🌷 🍇🍉🏁 🍇🍿🔤first🔤 ➡️ 🔤c0f1b6a831c399e2🔤🔤second🔤 ➡️ 🔤9b675bd57058fd46🔤🔤third🔤➡️🔤e6ae2fec3ad71c77🔤🔤fourth🔤 ➡️ 🔤89f58062f10dd731🔤🔤fifth🔤 ➡️ 🔤6316e53c8cdd9d99🔤🍆 ➡️ dic↪️ 🐽dic 🔤first🔤❗️ ➡️ aa 🍇😀 aa❗️🍉😀 🔤+🔤❗️🍿 🔤9ac6133c88aedbd6🔤 🔤26602a67be14ea8c🔤 🔤73b5f8d8ccd5ad31🔤 🔤c42125f82a562231🔤 🍆 ➡️ 🖍️🆕sdasca🐹 sdasca❗️😀 🐽sdasca 0❗️❗️🍉🐇 🐟 🍇🔑 🆕 🍇🍉❗️ 🙋 🍇😀 🔤a109e294d1e8155be8aa4🔤❗️🍉🍉🐇 🐡 🐟 🍇🔑 🆕 🍇 ⤴️🆕❗️ 🍉✒️ ❗️ 🙋 🍇😀 🔤8adf7f2f76030877🔤❗️🍉🍉🐇 🐋 🐟 🍇🔑 🆕 🍇 ⤴️🆕❗️ 🍉✒️ ❗️ 🙋 🍇😀 🔤eba66e10fba74dbf🔤❗️🍉🍉🐇 🐠 🐟 🍇🔑 🆕 🍇 ⤴️🆕❗️ 🍉✒️❗️ 🙋 🍇😀 🔤a7749e813e9e2dba🔤❗️ 🍉🍉

搜索 🔤🔤third🔤➡️🔤 很容易发现一些关于 Emojicode 相关的参考文章。

https://jaxenter.com/emojicode-the-programming-language-you-should-have-dreamed-of-125169.html

emojicode/emojicode: https://github.com/emojicode/emojicode

Installation: https://www.emojicode.org/docs/guides/install.html

按照其文档安装好编译器并编译上述字符串可以成功运行得到如下结果。(不是的话就多运行几次)

c0f1b6a831c399e2
+
26602a67be14ea8c

将其整理一下得到附件中压缩包的解压密码 c0f1b6a831c399e226602a67be14ea8c。解压后可以得到如下内容。

10?:A=356142:GOSUB20:A=762:GOSUB20:A=222440:GOSUB20:END
20A=RND(-A)
30A=INT(RND(A)*22):IF A THEN ?CHR$(A+64);:GOTO30
40?" ";:RETURN

RUN

使用 Commodore64 模拟器来运行这段代码,得到了结果 NOT AN EGG

Commodore64 Emulator: https://floooh.github.io/tiny8bit/c64-ui.html

使用得到的结果作为密码解压 flag.rar 文件即可得到 flag。

6bffd0d9321df3c229cdff714bb5a0b0

results matching ""

    No results matching ""